{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "pregnants                       768 non-null float64\n",
      "Plasma_glucose_concentration    768 non-null float64\n",
      "blood_pressure                  768 non-null float64\n",
      "Triceps_skin_fold_thickness     768 non-null float64\n",
      "serum_insulin                   768 non-null float64\n",
      "BMI                             768 non-null float64\n",
      "Diabetes_pedigree_function      768 non-null float64\n",
      "Age                             768 non-null float64\n",
      "Target                          768 non-null int64\n",
      "dtypes: float64(8), int64(1)\n",
      "memory usage: 54.1 KB\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(768, 9)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train=pd.read_csv('FE_pima-indians-diabetes.csv')\n",
    "train.head()\n",
    "train.info()\n",
    "train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pregnants</th>\n",
       "      <th>Plasma_glucose_concentration</th>\n",
       "      <th>blood_pressure</th>\n",
       "      <th>Triceps_skin_fold_thickness</th>\n",
       "      <th>serum_insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>Diabetes_pedigree_function</th>\n",
       "      <th>Age</th>\n",
       "      <th>Target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>7.680000e+02</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.606989e-13</td>\n",
       "      <td>-1.570503e-15</td>\n",
       "      <td>-6.512152e-15</td>\n",
       "      <td>-9.924006e-14</td>\n",
       "      <td>1.386599e-13</td>\n",
       "      <td>5.157449e-14</td>\n",
       "      <td>-1.508053e-14</td>\n",
       "      <td>2.391895e-13</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>1.000652e+00</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>-1.141852e+00</td>\n",
       "      <td>-2.552931e+00</td>\n",
       "      <td>-4.002619e+00</td>\n",
       "      <td>-2.516429e+00</td>\n",
       "      <td>-1.467353e+00</td>\n",
       "      <td>-2.074783e+00</td>\n",
       "      <td>-1.189553e+00</td>\n",
       "      <td>-1.041549e+00</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>-8.448851e-01</td>\n",
       "      <td>-7.201630e-01</td>\n",
       "      <td>-6.937615e-01</td>\n",
       "      <td>-4.675972e-01</td>\n",
       "      <td>-2.220849e-01</td>\n",
       "      <td>-7.212087e-01</td>\n",
       "      <td>-6.889685e-01</td>\n",
       "      <td>-7.862862e-01</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>-2.509521e-01</td>\n",
       "      <td>-1.530732e-01</td>\n",
       "      <td>-3.198993e-02</td>\n",
       "      <td>-1.230129e-02</td>\n",
       "      <td>-1.815412e-01</td>\n",
       "      <td>-2.258989e-02</td>\n",
       "      <td>-3.001282e-01</td>\n",
       "      <td>-3.608474e-01</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.399473e-01</td>\n",
       "      <td>6.112653e-01</td>\n",
       "      <td>6.297816e-01</td>\n",
       "      <td>3.291706e-01</td>\n",
       "      <td>-1.554775e-01</td>\n",
       "      <td>6.032562e-01</td>\n",
       "      <td>4.662269e-01</td>\n",
       "      <td>6.602056e-01</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>3.906578e+00</td>\n",
       "      <td>2.542658e+00</td>\n",
       "      <td>4.104082e+00</td>\n",
       "      <td>7.955377e+00</td>\n",
       "      <td>8.170442e+00</td>\n",
       "      <td>5.042397e+00</td>\n",
       "      <td>5.883565e+00</td>\n",
       "      <td>4.063716e+00</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          pregnants  Plasma_glucose_concentration  blood_pressure  \\\n",
       "count  7.680000e+02                  7.680000e+02    7.680000e+02   \n",
       "mean   2.606989e-13                 -1.570503e-15   -6.512152e-15   \n",
       "std    1.000652e+00                  1.000652e+00    1.000652e+00   \n",
       "min   -1.141852e+00                 -2.552931e+00   -4.002619e+00   \n",
       "25%   -8.448851e-01                 -7.201630e-01   -6.937615e-01   \n",
       "50%   -2.509521e-01                 -1.530732e-01   -3.198993e-02   \n",
       "75%    6.399473e-01                  6.112653e-01    6.297816e-01   \n",
       "max    3.906578e+00                  2.542658e+00    4.104082e+00   \n",
       "\n",
       "       Triceps_skin_fold_thickness  serum_insulin           BMI  \\\n",
       "count                 7.680000e+02   7.680000e+02  7.680000e+02   \n",
       "mean                 -9.924006e-14   1.386599e-13  5.157449e-14   \n",
       "std                   1.000652e+00   1.000652e+00  1.000652e+00   \n",
       "min                  -2.516429e+00  -1.467353e+00 -2.074783e+00   \n",
       "25%                  -4.675972e-01  -2.220849e-01 -7.212087e-01   \n",
       "50%                  -1.230129e-02  -1.815412e-01 -2.258989e-02   \n",
       "75%                   3.291706e-01  -1.554775e-01  6.032562e-01   \n",
       "max                   7.955377e+00   8.170442e+00  5.042397e+00   \n",
       "\n",
       "       Diabetes_pedigree_function           Age      Target  \n",
       "count                7.680000e+02  7.680000e+02  768.000000  \n",
       "mean                -1.508053e-14  2.391895e-13    0.348958  \n",
       "std                  1.000652e+00  1.000652e+00    0.476951  \n",
       "min                 -1.189553e+00 -1.041549e+00    0.000000  \n",
       "25%                 -6.889685e-01 -7.862862e-01    0.000000  \n",
       "50%                 -3.001282e-01 -3.608474e-01    0.000000  \n",
       "75%                  4.662269e-01  6.602056e-01    1.000000  \n",
       "max                  5.883565e+00  4.063716e+00    1.000000  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2dbdd2aa278>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(train['Target'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import  GridSearchCV\n",
    "from sklearn.metrics import log_loss #指标为logloss\n",
    "from sklearn.metrics import accuracy_score\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((768, 8), (768,))"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train,y_train=train.drop(['Target'],axis=1),train['Target']\n",
    "X_train.shape,y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC\n",
    "from sklearn.model_selection import GridSearchCV\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7669270833333334 {'C': 0.01}\n"
     ]
    }
   ],
   "source": [
    "Cs=[0.001,0.01,0.1,1,10,100,1000]\n",
    "param_grid={'C':Cs}\n",
    "grid=GridSearchCV(SVC(kernel='linear'),param_grid,cv=5,n_jobs=4)\n",
    "grid.fit(X_train,y_train)\n",
    "print (grid.best_score_,grid.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7682291666666666\n",
      "{'C': 100, 'gamma': 0.001}\n"
     ]
    }
   ],
   "source": [
    "#RBF核SVM正则参数调优\n",
    "#C越小，决策边界越平滑； gamma越小，决策边界越平滑\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "gammas = [0.0001,0.001, 0.01, 0.1, 1]\n",
    "#gammas =[1e-5, 1e-6]\n",
    "param_grid = {'C': Cs, 'gamma' : gammas}\n",
    "grid = GridSearchCV(SVC(kernel='rbf'), param_grid, cv=5, n_jobs = 4)\n",
    "\n",
    "grid.fit(X_train, y_train)\n",
    "print(grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_gamms = len(gammas)\n",
    "\n",
    "test_scores =  np.array(test_means).reshape(n_Cs,number_gamms)\n",
    "#train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_gamms)\n",
    "#train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(gammas):\n",
    "    plt.plot(x_axis, test_scores[:,i], label= gammas[i])\n",
    "    #pyplot.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = gammas[i] )\n",
    "    #pyplot.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'accuary' )\n",
    "plt.savefig('SVMGridSearchCV_C.png' )\n",
    "\n",
    "plt.show()\n",
    "# C越大，最佳的gamma越小"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用常用svc函数\n",
    "from sklearn import linear_model,svm\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train,X_test,y_train,y_test=train_test_split(X_train,y_train,test_size=0.25,random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w:[[ 0.11891401  0.42862044 -0.06902617 -0.03562763 -0.03433765  0.26461135\n",
      "   0.0939048   0.08432551]],b:[-0.31410277]\n",
      "score：0.7864583333333334\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\fuhan\\AppData\\Roaming\\Python\\Python36\\site-packages\\sklearn\\svm\\base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n"
     ]
    }
   ],
   "source": [
    "cls=svm.LinearSVC()\n",
    "cls.fit(X_train,y_train)\n",
    "print('w:%s,b:%s'%(cls.coef_,cls.intercept_))\n",
    "print('score：%s'%cls.score(X_test,y_test))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#验证了上面超参调优"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
